home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk69 / aprtuna / apriltuna < prev    next >
Text File  |  1995-03-19  |  19KB  |  444 lines

  1. POST-TAX TUNA
  2. -The April Edition-
  3.  
  4. Amiga Hardware Trix
  5.  
  6.      A frequent complaint heard about the Amiga is the lack of
  7. documentation in certain areas.  For the most part, this complaint
  8. concerns that portion of the Amiga's operating system - AmigaDOS -
  9. which was written in BCPL, or certain "private" portions of the
  10. operating system which Commodore feels would be abused if made public. 
  11. Recent revelations, discovered in Jay Miner's trash can, indicate that
  12. some of the hardware is under-documented, as well.  This article, the
  13. first of three, will examine the Denise chip.  With the help of the
  14. material recovered from Jay Miner's refuse, we have been able to
  15. uncover hitherto unknown abilities of Denise.
  16.  
  17.      Denise, known by the part number 8474, is responsible for the
  18. Amiga's on-screen qualities.  The various resolutions, palettes, and
  19. video output are controlled by this chip.  Previously, Denise had been
  20. known to be capable of four basic resolutions - 640 X 200, 640 X 400,
  21. 320 X 200, and 320 X 400 - plus overscan, and was thought to be limited
  22. to a palette of 4,096 colors.  The maximum number of colors available
  23. on-screen in the "normal" modes was 32, which could be extended to 64
  24. in "half-bright" mode.  HAM - Hold And Modify - gave the ability to
  25. display any and all of the 4,096 available colors at one time in either
  26. lo-res or lo-res interlaced.
  27.  
  28.      Two of the Denise pins are officially listed as "not connected." 
  29. While they are not connected in the normal Amiga setup, they *do* serve
  30. a purpose.  The Amiga, as originally designed, had space for several
  31. extra sockets on the motherboard.  The official explanation was that
  32. these were intended for the Operating System ROMS.  Jay Miner's
  33. discarded documentation, however, indicates otherwise.  One of these
  34. sockets, the subject of this article, was intended to hold a second
  35. Denise chip.  Once installed, the Amiga was capable of operating in
  36. "Dual Denise" mode.  While some of the details of DD mode are beyond
  37. the scope of this article, a cursory examination is in order.
  38.  
  39.      The Extra Denise (Edie) was intended to operate in tandem with
  40. Original Denise (Odie) to double the horizontal resolution.  This is
  41. accomplished by doubling the frequency of the dot clock and
  42. interleaving the output of each Denise.  The primary drawback of this
  43. approach, and the reason it was never publicly acknowledged, was the
  44. requirement of a (then) expensive "Multi-Sync" type monitor.  Because
  45. the horizontal sweep frequency is doubled, the stock 1080 monitor would
  46. not be sufficient.
  47.  
  48.      The Edie-Odie (E-O) combination yields a number of additional
  49. graphic modes.  One of them, EXtended mode, is used in conjunction with
  50. Hold-And- Modify mode to yield HAM & EX.  In this mode, the benefits of
  51. HAM are extended to the higher resolutions of 640 X 200 and 640 X 400,
  52. as well as the overscan resolutions.  Other combinations are possible. 
  53. When the user chooses one of the "former" graphics modes, more colors
  54. are available.  Where once only 16 colors were available in high-res,
  55. there are now 256 colors available.  In lo-res, the maximum number of
  56. colors becomes 16,777,216.  The user may also choose a maximum
  57. resolution of 1280 X 400 (plus overscan).  This mode, known  as
  58. "landscape mode" is generally used when one's monitor is placed on its 
  59. side.
  60.  
  61.      Other tantalizing possibilities are hinted at.  One of them
  62. involves the interface of piggy-backed Denise chips.  Utilizing Denises
  63. in groups of four, in a fashion similar to the way Transputer
  64. processors are networked, this configuration is referred to as the
  65. "E-O-E-O-I" arrangement.  Unfortunately, video display technology has
  66. seriously lagged behind graphics processor development.  Until
  67. "Ultra-High Usable Resolution Architecture (UHURA) systems become
  68. available, Edie-Odie Networks (EO-Nets) will remain a laboratory
  69. curiosity.
  70.  
  71.      That concludes the first installment of our series on Amiga System
  72. Secrets.  Next month, we will examine the consequences of the proximity
  73. of the Agnus and Gary chips:  Pregnant Agnus.
  74.  
  75. TAITOO
  76.  
  77.     We are all aware of the basic capabilities of our beloved Amiga,
  78. and we sometimes take it for granted.  Occasionally, we stare in awe at
  79. some of the more outstanding things which talented people have been
  80. able to get Ami to do (Video Toaster, Sculpt 4D, Videoscape 3D, etc). 
  81. Now, a new product has been introduced into the Amiga marketplace which
  82. holds a new field of opportunity for Amiga users and opens up the
  83. opportunity for a rather unique home-based business.
  84.  
  85.     Introduced by a subdivision of Texas Instruments (Taitoo), this
  86. new device is based on the tried-and-true technology of the
  87. dot-matrix printer to transfer Amiga IFF graphics to, off all things,
  88. human skin.  MOM (a somewhat vague reference to the typical MOM tattoo,
  89. it stands for Matereo-Optical Mimeography) is an amazing new tattooing
  90. device which will be a boon to the tattoo industry.  Operating at a
  91. resolution of 300 follicles-per-inch (FPI), 24-needle device can
  92. transfer the full range of 4096 colors available on the Amiga using
  93. off-the-shelf hardware, modified for the job at hand.
  94.  
  95.     The basic technology involves using standard printer heads, with
  96. the pins replaced by extremely small tattoo needles.  The frame straps
  97. onto the particular part of the body which the recipient desires to
  98. have tattooed.  The needle head is transported along two stationary
  99. rails, similar to a modern-day plotter.  Ink is supplied in Red-Green-
  100. Blue (RGB) ink cartridges, as well as a Black-Ink-Cartridge (BIC) to
  101. apply shading in the proper places, and an alcohol container for
  102. sterilizing the skin to be tattooed.  The interface between the Amiga
  103. and the needle head plugs into the parallel port on any model Amiga. 
  104. When booted, the driving software, a whimsical hi-resolution picture of
  105. a Hell's Angels biker with a MOM tattoo on his right upper arm.  The
  106. main menu consists of the following selections:
  107.  
  108.     Load
  109.     Wipe
  110.     Erase
  111.     Align
  112.     Start
  113.     Abort
  114.     Quit
  115.  
  116. Load simply lets the tattooist load in the picture to be transferred.
  117.  
  118. Wipe initializes the alcohol skin wash.
  119.  
  120. Erase deletes the current picture and blanks the screen.
  121.  
  122. Align puts a small line on the skin (cleanable by alcohol) for the
  123. purpose of aligning the frame.
  124.  
  125. Start begins the tattoo process.
  126.  
  127. Abort immediately halts the tattoo in progress, though Taitoo advises
  128. against using this selection for fear of losing a work in progress.
  129.  
  130. Quit quits the program.
  131.  
  132.     The actual operation of the device is fairly straight forward and
  133. surprisingly fast, as Taitoo uses their own device driver rather than
  134. using AmigaDOS' own PRT: device.  Unfortunately for the recipient, the
  135. actual transfer of the picture is painful, though the results are
  136. gratifying.  Taitoo is currently considering adding an anesthetic
  137. device, though they admit that this may open them up for numerous
  138. lawsuits.  The tatoo takes approximately three days to set, while the
  139. recipient cannot bathe or wash the spot.  After setting, the tattoo
  140. displays the picture with wonderful clarity and color.
  141.  
  142.     Taitoo claims that MOM and the supporting hardware are currently
  143. shipping (though a quick check of some of the major retailers does not
  144. bear this out), and has set a starting price of $799.95.  This price is
  145. amazingly low, considering the technology involved.
  146.  
  147.     I have used this product on myself extensively over the past two
  148. months, and have not had the program crash on me once.  MOM does multi-
  149. task, though running any other graphics-intensive program at the same
  150. time slows the machine to a crawl, dragging the operation out and
  151. prolonging the pain to an almost unbearable length.  I did find some
  152. small bugs not worth mentioning (red is the same shade of blood, and
  153. even blue and green have some of the same tint of red in them), but I
  154. did find one major bug.  While having the picture "Airbrush" tattooed
  155. on my chest, I was in an online conference on American PeopleLink's
  156. Amigazone, using CommPlx (Steve Tibbett's enhanced Comm 1.34 which lets
  157. you see various colors and other screen enhancements on-screen) and
  158. captured the conference.  When I closed the capture buffer, the device
  159. immediately  sent the needle head to 0,0 in the frame and started
  160. dumping the entire conference!  Imagine my surprise when I looked down
  161. and saw "(NY*JIM) Doe ANYONE know when 1.4 will be released?" tattooed
  162. across my abdomen!  I reported this bug to both Taitoo and the author
  163. of Comm 1.34, Dan James.  According to Mr. James, Taitoo inadvertently
  164. "used a call to the ActivateGadget() routine resulting in the incorrect
  165. printout".  Mr. James has assured me that he has worked with Taitoo on
  166. this problem and they have fully de-bugged this mistake and that it
  167. should be corrected by the time you read this.
  168.  
  169.     Even though I have signed a non-disclosure agreement with Taitoo,
  170. I feel I MUST let you in on their newest development using the engine
  171. from an Apple Laserwriter to [text deleted by Taitoo] effectively
  172. eliminating the undesirable [text deleted by Taitoo] giving an ultimate
  173. resolution of a whopping [text deleted by Taitoo] FPI!  When this
  174. device hits the market, a Laser Toaster won't be the only machine on
  175. the block that really cooks!
  176.  
  177. AmigaDOS 1.0
  178. Reviewed by Irwin Booboo
  179.  
  180.     If you've seen my article on software updates in this month's
  181. Computer Slopper, you've probably noticed that I made the mistake of
  182. stating that the Commodore started numbering WorkBench and Kickstart
  183. with version 1.1.
  184.  
  185.     Well, it seems that CBM realized their mistake, and that they have
  186. now released a new version of Kickstart and Workbench to remedy the
  187. problem:  Kickstart and Workbench 1.0.
  188.  
  189.     I found the package sitting on a back shelf at my local Atari ST
  190. dealer.  I asked the salesman how much it cost, and he just laughed and
  191. said I could have it free.  I guess he  recognized me as a famous
  192. computer software critic.  I also picked up an Amiga 256K expansion
  193. board, which I have not been able to figure out how to install in my
  194. A500.  But more on that next month.  I rushed home to play with my new
  195. toy.
  196.  
  197. Workbench 1.0
  198.  
  199.     When Commodore decided to finally release a 1.0 version of their
  200. operating system, they went all out!  The WorkBench disk is a big
  201. improvement over the one that comes with the 1.3 enhancer set.  Gone
  202. are many of the confusing commands in the C directory.  The new
  203. streamlined Command directory includes only those commands that are
  204. ABSOLUTELY necessary to use your computer.  No more confusion of having
  205. more than one directory in your PATH. Also gone is the dangerous
  206. DISKDOCTOR command, which even I, the illustrious Irwin Booboo, have
  207. destroyed at least 17 copy- protected disks with.
  208.  
  209.     Also, Preferences and the printer drivers have been improved.  The
  210. new simplified Preferences no longer confuses you with a separate
  211. screen for the cereal port settings, and CBM realized their mistake and
  212. removed the confusing extra printer screens that had been added in 1.3. 
  213. Also, the print drivers have been slowed to a more reasonable speed,
  214. which I'm sure will put less wear and tear on your printer.  The Epson
  215. driver seemed much easier on my MX-70/Graftrax than the one included
  216. with 1.3.
  217.  
  218.     All of the other commands are improved to.  That nasty RAM disk no
  219. longer hangs around after you reboot, and the format command has been
  220. replaced by two new ones, format and initialize, that I'm sure are more
  221. efficient than having one command for BOTH WorkBench and CLI.  And best
  222. of all, the demo's drawer is back!  My son and I once watched the BOXES
  223. demo for over 10 hours straight, just to see if the computer could keep
  224. multitasking that long.
  225.  
  226. Extras 1.0
  227.  
  228.     The new Extras disk is a welcome relief after the confusion of
  229. Extras 1.3.  Most of those silly, confusing programs are gone, leaving
  230. you space on your master disk to save and test all of your BASIC
  231. programs (who could figure out MicroEMACS without a degree in computer
  232. science, anyway?).  The biggest surprise is the new version of BASIC
  233. included with 1.0, though.
  234.      MicroSloth's AmigaBasic has been replaced with a new, improved
  235. ABASIC language from a British company called MetaCompost.  I knew I
  236. was going to love ABASIC from the start when I double clicked on the
  237. program icon and it started up with big, easy to read 40 column text.
  238.     Gone is the confusion of multiple windows for editing and program
  239. output from AmigaBasic.  ABASIC shows you one screen where you can do
  240. both your editing and running.  Also, ABASIC doesn't confuse you with a
  241. full screen editor.  I know I always was losing my cursor on wierd
  242. parts of the screen.  ABASIC uses editing commands reminiscent of those
  243. on early IBM mainframes (so you know they HAVE to be good, since IBM is
  244. the standard!).
  245.     Finally, an adendem.. addendim.. add on to the ABASIC manual
  246. states that at the last minute, the programmers left out many of the
  247. confusing animation and graphics commands.  This was a wise decision,
  248. and will lead to people being less confused by the Amiga.  I'll go all
  249. out here and predict that ABASIC will replace Lettuce C as the standard
  250. programming language for the Amiga.
  251.  
  252. KickStart 1.0
  253.  
  254.     Finally, there are improvements to the KickStart disk itself. 
  255. Commodore seems to have re-written the disk access routines so that
  256. they will not put as much wear and tear on the disk drive.  Disk
  257. directories and program loading now takes place at a reasonable,
  258. leisurely pace.
  259.     Another improvement is in handling of the actual WorkBench Screen. 
  260. I remember when I first got my 1.2 Enhancer package.  I went to delete
  261. all of those techie programs (like IconEd and Calculator) from my
  262. WorkBench, and as I grabbed my icon to put it in the trashcan, a
  263. duplicate of the icon attached itself to my pointer!  There were two
  264. copies of the same icon on the same screen! How confusing can you get? 
  265. Now, in 1.0, when you grab an icon, it is replaced by a nice, simple
  266. crosshair.  If an expert Amiga user like me finds this to be an
  267. improvement, I'm sure that the average user is ecstatic.
  268.     Finally, the number of little lines at the top of windows has been
  269. doubled.  Not only does this add more flash to the screen (and we all
  270. know a little flash in a program is a lot more impressive than boring
  271. old features), but it makes for a neat effect when you are in interlace
  272. mode. 
  273.  
  274. Summary
  275.  
  276.     WorkBench 1.0 is a huge improvement over the earlier 1.1, 1.2, and
  277. 1.3 releases of the AmigaDOS Amiga disk operating system.  Almost
  278. everything has been simplified--even the confusing CLI command
  279. reference has been removed from the manual.  The GURU shows up a lot
  280. more often now, showing you that your computer's error checking is hard
  281. at work.
  282.     Other than some problems with few new CLI commands (the DOWNLOAD
  283. command wouldn't work with my 300 baud modem, and what's a Sun
  284. Workstation anyway?), this is a great improvement.  Hopefully CBM will
  285. continue this trend of improvements when they come back and release 1.4
  286. by totally eliminating the CLI commands.  Overall, AmigaDOS 1.0 gets a
  287. "Booboo's Best" award, putting it in hallowed ranks with my other
  288. favorites, TextCraft, GraphiCraft, and AmigaTerm.  Now if I can just
  289. figure out where that 256K expander plugs in on my 500...
  290.  
  291. Programming in C - A Variation on Hello World
  292. (Contributed Anonymously)
  293.  
  294. #include <intuition/intuition.h>  /* This one was pretty intuitive */
  295. #include <resources/cia.h>    /* To protect code from corporate spies
  296. */
  297. #include <hardware/dmabits.h>    /* 8 dmabits == a dmabyte? */
  298. #include <intuition//exec//libraries/dos.h>    /* had the map upside down
  299. */
  300. #include <exec/memory.h>    /* We can always use more memory */
  301. #include <libraries/dosextens.h> /* Needed the dos extension cord to
  302. plug in the car */
  303.  
  304. /* 
  305.    Nabalzbhfyl jevggra ol fbzr thl jub jevgrf ybgf bs cebtenzf jubfr
  306.    anzrf raq va K.  Lbh'q arire thrff jub.
  307.  
  308.  
  309.                       /\
  310.                      /||\
  311.                       ||
  312.                        \____  Sure looks like code to me!
  313.                   Fher ybbxf yvxr pbqr gb zr!
  314. */
  315.  
  316. #define ONE_BILLION 3
  317.  
  318. struct NewWindow *NW;
  319. struct Window *Broken_Window;
  320. struct DosBase *IntuitionBase;    /* Jimm's home */
  321. struct GfxBase *GfxBase;    /* Dale's home */
  322.  
  323. main()
  324. {
  325. short shorter, shortest;
  326. long longer, longest;
  327. int sure_is;
  328.  
  329. shorter = shortest = longer = longest = WINDOWTICKED;
  330.  
  331.     {
  332.     int The_Lattice;
  333.     };
  334.  
  335. /* Who knows when they'll make the NewWindow structure bigger, eh? */
  336. NW = (struct NewWindow *)AllocMem(17295, MEMF_PUBLIC);
  337. if (NW == DMAB_AUD0) goto Oh_No_Panic_Lemme_Outta_Here;
  338.  
  339. /* Oops - forgot to open the libraries - Better give it back */
  340. FreeMem(NW, 17295);
  341.  
  342. IntuitionBase = (struct DosBase *)OpenLibrary("intuition.library", 6); 
  343. /* Don't want V5! */
  344. if (IntuitionBase == OFFSET_CURRENT) goto Or_Else_You_Will_Regret_It;
  345.  
  346. GfxBase = (struct GfxBase *)OpenLibrary("graphics.library", 13);  /*
  347. Feeling lucky... */
  348. if (GfxBase == (5.5-5.5)) goto I_Mean_It;
  349.  
  350. goto Here;
  351. There:
  352. Open_The_Frigging_Window("Now!");
  353. goto Elsewhere;
  354. Here:    { int C_compiler; }
  355. Set_Up_The_Frigging_Structure(00000000000000000000000000.000000000);
  356. goto There;
  357. Elsewhere:
  358. SetAPen(Broken_Window->RPort, 1);
  359.  
  360.     {
  361.         {
  362.             {
  363.                 {
  364.                     {
  365.                         {
  366.                         Move(Broken_Window->RPort, 10, 40);
  367.                         };
  368.                     };
  369.                 };
  370.             };
  371.         };
  372.     };
  373.  
  374. Text(Broken_Window->RPort, "Hello World!", IECLASS_SIZEWINDOW);
  375.  
  376. WaitPort(Broken_Window->UserPort);
  377.  
  378. Oh_No_Panic_Lemme_Outta_Here:
  379. Or_Else_You_Will_Regret_It:
  380. I_Mean_It:
  381.  
  382. if (Broken_Window != 0) CloseWindow(Broken_Window);
  383. if (IntuitionBase != (OFFSET_END+OFFSET_BEGINNING))
  384. CloseLibrary(IntuitionBase);
  385. if (GfxBase != FIBB_DELETE) CloseLibrary(GfxBase);
  386.  
  387. }  
  388.  
  389. Open_The_Frigging_Window() 
  390. {                                                     short
  391. x; x = 1;     /* Hey no peeking */
  392. Broken_Window = (struct Window *)OpenWindow(NW); 
  393. if (Broken_Window == (struct Window *)NULL) 
  394.     {
  395.     printf("Someone blew up the cat!\n");
  396.     exit(12*3+(4/2));
  397.     };
  398. return(SCREENQUIET);
  399. }
  400.  
  401.  
  402. Set_Up_The_Frigging_Structure(butter)
  403. short butter;
  404. {
  405. short parkay = 0;
  406. char Superb;
  407.  
  408. if (butter == parkay)
  409.     {
  410.     NW = (struct NewWindow *)AllocMem(10<<5, MEMF_PUBLIC|MEMF_CLEAR);
  411.     if (NW == 0) 
  412.         {
  413.         printf("Oops - real error!  ow! \n"); 
  414.         exit(ONE_BILLION);
  415.         };
  416.  
  417.     NW->LeftEdge = SHOWTITLE;
  418.     NW->TopEdge = BEEPING;
  419.     NW->Width = ERROR_WRITE_PROTECTED;    /* No writing in MY window */
  420.     NW->Height = ID_VALIDATED;    /* I validated it personally */
  421.     NW->DetailPen = 0;
  422.     NW->BlockPen = 1;
  423.     NW->IDCMPFlags = CLOSEWINDOW;
  424.     NW->Flags =
  425. WINDOWCLOSE|WINDOWDRAG|WINDOWDEPTH|WINDOWSIZING|ACTIVATE|SMART_-
  426. REFRESH|NOCAREREFRESH;
  427.     NW->Title = "My First Program!";
  428.     NW->Type = MENUENABLED;    /* Isn't this where I ask for menus? */
  429.     NW->Screen = 0;
  430.     };
  431. return(TRUE);
  432. }
  433.  
  434. /* Editor's Note:  This program really does compile successfully under
  435. Lattice C.  Really!  No fooling! */
  436.  
  437.      We hope you enjoyed this edition of TUNA.  The authors, for
  438. various professional reasons, wish to remain anonymous, but we'd like
  439. to thank (in alphabetic order) Denny Atkin, Dan Bonachea, Jim Meyer,
  440. and Steve Tibbett) In case we worried you with this issue's lack of
  441. serious content, fear not.  Tuna will return in a more serious vein
  442. next month or so.
  443.  
  444.